package com.weiiew.buildtypeservice.service;

import com.weiiew.common.entity.dto.BuildingType;
import com.weiiew.common.entity.vo.ItemTypeVO;

import java.util.List;

/**
 * @Description
 * @Author 魏锴
 * @Date 2024/8/8
 */
public interface BuildingTypeService {

    /**
     * 获取建筑种类列表
     *
     * @param version 版本号
     * @return 建筑种类列表
     */
    List<ItemTypeVO> getBuildTypes(String name, Integer version);

    /**
     * 创建建筑种类
     *
     * @param type 建筑种类信息
     * @return 创建结果
     */
    boolean createType(BuildingType type);

    /**
     * 修改类名
     *
     * @param id      类id
     * @param name    新类名
     * @param version 版本号，缓存删除使用
     * @return 修改结果
     */
    boolean renameType(Integer id, String name, Integer version);

    /**
     * 删除建筑种类
     *
     * @param id      建筑id
     * @param version 版本号，缓存删除使用
     * @return 删除结果
     */
    boolean removeType(Integer id, Integer version);
}
